﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using QLT_BLL;
using QLT_Public;

namespace GiaoDien
{
    public partial class frm_DangNhap : DevExpress.XtraEditors.XtraForm
    {
        public frm_DangNhap()
        {
            InitializeComponent();
        }
        public delegate void GetInt(int kt);
        public GetInt MyGetLoad;
        NhanVien_BLL nhanVien_bll = new NhanVien_BLL();
        NhatKy_Bll nhatKy_bll = new NhatKy_Bll();
        private void btnDangNhap_Click(object sender, EventArgs e)
        {
            NhanVien_Public nv = new NhanVien_Public();
            nv.TenDangNhap = txtTenDangNhap.Text;
            nv.MatKhau = txtMatKhau.Text;

            DataTable dt = new DataTable();
            string sql = "select * from tbl_NhanVien,tbl_NhomQuyen where tbl_NhomQuyen.MaNQ=tbl_NhanVien.MaNQ and tbl_NhanVien.TenDangNhap=N'"+txtTenDangNhap.Text+"' and tbl_NhanVien.MatKhau='"+txtMatKhau.Text+"'";
            dt = nhatKy_bll.TaoBang(sql);
            cob_DoiTuong.DataSource = dt;
            cob_DoiTuong.DisplayMember = "TenNQ";

            //tạo bảng cho đăng nhập quyền quản lý

            DataTable dt_QuanLy = new DataTable();
            dt_QuanLy = nhanVien_bll.dangNhap_QuanLy(nv,nv);

            //tạo bảng đăng nhập quyền nhân viên

            DataTable dt_NhanVien = new DataTable();
            dt_NhanVien = nhanVien_bll.dangNhap_NhanVien(nv,nv);

            NhatKy_Public nk = new NhatKy_Public();
            if (dt_QuanLy.Rows.Count != 0)
            {// lấy dữ liệu sang class trung gian
                Class_TrungGian tg = new Class_TrungGian();
                tg.TaiKhoan = txtTenDangNhap.Text;
                tg.DoiTuong = cob_DoiTuong.Text;

                // insert dữ liệu vào bảng nhật ký
                string d = DateTime.Now.ToString();
                nk.TaiKhoan = txtTenDangNhap.Text;
                nk.NgayGio = d.ToString();
                nk.DoiTuong = cob_DoiTuong.Text;
                nk.HanhDong = "Đăng Nhập";
                nk.MoTa = "Đăng Nhập Vào hệ thống";
                nhatKy_bll.insert_NhatKy(nk,nk,nk,nk,nk);
                MyGetLoad(1);
                XtraMessageBox.Show("Bạn đã đăng nhập thành công!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }

            if (dt_NhanVien.Rows.Count != 0)
            {
                Class_TrungGian tg = new Class_TrungGian();
                tg.TaiKhoan = txtTenDangNhap.Text;
                tg.DoiTuong = cob_DoiTuong.Text;

                // insert dữ liệu vào bảng nhật ký
                string d = DateTime.Now.ToString();
                nk.TaiKhoan = txtTenDangNhap.Text;
                nk.NgayGio = d.ToString();
                nk.DoiTuong = cob_DoiTuong.Text;
                nk.HanhDong = "Đăng Nhập";
                nk.MoTa = "Đăng Nhập Vào hệ thống";
                nhatKy_bll.insert_NhatKy(nk, nk, nk, nk, nk);

                MyGetLoad(2);
                XtraMessageBox.Show("Bạn đã đăng nhập thành công!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }

            else if (dt_QuanLy.Rows.Count == 0 && dt_NhanVien.Rows.Count == 0)
            {
                XtraMessageBox.Show("Tên đăng nhập hoặc mật khẩu không chính xác!", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtTenDangNhap.ResetText();
                txtMatKhau.ResetText();
                txtTenDangNhap.Focus();
            }
            
        }

        private void txtTenDangNhap_Leave(object sender, EventArgs e)
        {
            if (txtTenDangNhap.Text == "")
                txtTenDangNhap.Focus();
        }

        private void txtMatKhau_Leave(object sender, EventArgs e)
        {
            if (txtMatKhau.Text == "")
                txtMatKhau.Focus();
        }

        private void btnThoat_Click_1(object sender, EventArgs e)
        {
            this.Close();
        }

        private void frm_DangNhap_Load(object sender, EventArgs e)
        {
            cob_DoiTuong.Hide();
        }
    }
}